/**
 * //Given an integer x, return true if x is palindrome integer.
 * //
 * // An integer is a + when it reads the same backward as forward.
 * //
 * //
 * // For example, 121 is a palindrome while 123 is not.
 * //
 * //
 * //
 * // Example 1:
 * //
 * //
 * //Input: x = 121
 * //Output: true
 * //Explanation: 121 reads as 121 from left to right and from right to left.
 * //
 * //
 * // Example 2:
 * //
 * //
 * //Input: x = -121
 * //Output: false
 * //Explanation: From left to right, it reads -121. From right to left, it
 * //becomes 121-. Therefore it is not a palindrome.
 * //
 * //
 * // Example 3:
 * //
 * //
 * //Input: x = 10
 * //Output: false
 * //Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
 * //
 * //
 * //
 * // Constraints:
 * //
 * //
 * // -2³¹ <= x <= 2³¹ - 1
 * //
 * //
 * //
 * //Follow up: Could you solve it without converting the integer to a string?
 * //
 * // Related Topics 数学 👍 2113 👎 0
 */

package com.xixi.easy;

public class ID00009PalindromeNumber {
    public static void main(String[] args) {

        Solution solution = new ID00009PalindromeNumber().new Solution();
        System.out.println(solution.isPalindrome(121));
    }


    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {

        public boolean isPalindrome(int x) {

            if (x < 0) return false;
            int div = 1;
            //求出x的位数
            while (x / div >= 10) div *= 10; //x:1221 div: 1000

            //
            while (x > 0) {
                int left = x / div; //高位
                int right = x % 10; //低位
                if (left != right) return false;
                //下一位x
                x = (x % div) / 10; // 1221 -> 221 -> 22
            div /=100; //减少了两位 //div: 10
        }

        return true;

    }
}
//leetcode submit region end(Prohibit modification and deletion)




}